//
// Created by fanghr on 17-12-24.
//

#ifndef PROJECT_CAM_FRAME_H
#define PROJECT_CAM_FRAME_H

#include "cam_original_Mat.h"
#include "cam_disparity.h"

class cam_frame {
public:
    struct table_t {
        friend class boost::serialization::access;

        cam_original_Mat raw;
        cam_disparity disp;

        template<class Archive>
        void serialize(Archive &ar, const unsigned int) {
            ar & raw & disp;
        }
    };

private:
    table_t table;

    friend class boost::serialization::access;

    template<class Archive>
    void serilaize(Archive &ar, const unsigned int) {
        ar & table;
    }

public:
    cam_frame(cam_original_Mat raw, cam_disparity disp) {
        table.disp = disp;
        table.raw = raw;
    }

    table_t get() {
        return table;
    }
};


#endif //PROJECT_CAM_FRAME_H
